<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
//引入管理员表
use App\Http\Models\Manager;
//引入权限表
use App\Http\Models\Permission;
//引入权限表
class IndexController extends Controller
{
    //首页显示
    public function index(){
        //根据登录的管理员 获取管理员的ID
        $mg_id = \Auth::guard('back')->user()->mg_id;

        try{
            //用mg_id 通过关联的Role模型查找管理员所拥有的权限  ps_ids
            //Role模型对应的是role表
            $ps_ids = Manager::find($mg_id)->role->ps_ids;


            //通过ps_ids 在权限表查找对应的权限
            //取出来的ps_ids是字符串  将字符串转化为数组便于查找
            $ps_ids = explode(',',$ps_ids);

            $permission_A = Permission::where('ps_level','0')
                ->whereIn('ps_id',$ps_ids)
                ->get();
            $permission_B = Permission::where('ps_level','1')
                ->whereIn('ps_id',$ps_ids)
                ->get();
        }catch(\Exception $e){
            //因为root是超管 没有role_id  所以会出现异常  用try catch 捕获异常 解决这个问题
            if($mg_id==1){//当登录的用户是root时（mg_id===1）赋予所有权限
                $permission_A = Permission::where('ps_level','0')
                    ->get();
                $permission_B = Permission::where('ps_level','1')
                    ->get();
            }else{//当管理员还没有权限时 （则没有role_id） 赋予空权限
                $permission_B = [];
                $permission_A = [];
            }
        }


        return view('admin.index.index',compact('permission_A','permission_B'));
    }

    //首页中的欢迎页显示
    public function welcome(){
        return view('admin.index.welcome');
    }
    //退出登录
    public function logout(){
        \Auth::guard('back')->logout();//清除session
        return redirect('/admin/manager/login');
    }
}
